Combinatorial principles